Image data transmission system, process and program, image data output device and image display device

ABSTRACT

There has been a problem of necessitating a complicated work for establishing a connection capable of intercommunication between a computer as server and a projector as client.  
     When a connection is established between a server  20  and projectors  301  through  30   n,  a communication command is issued according to UDP-based broadcasting to retrieve connectable projectors  301  through  303.  Thereafter, the projector  301  to be connected is selected and is assigned an IP address to establish the connection. In this manner, a user can easily obtain a connection environment capable of intercommunication between the server  20  and the projector  301.  A TCP/IP communication command is used to input or output image data, ensuring reliable transmission. Since the authentication can be provided using a keyword projected during the connection establishment, it is possible to prevent an unauthorized access to the projector  301  by an outsider.

This is a Continuation of application Ser. No. 10/442,056 filed May 21,2003. The disclosure of the prior application is hereby incorporated byreference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image data transmission system, animage data transmission method, an image data transmission program, animage data output device, and an image display device appropriately usedfor allowing a client to display images based on image data output froma server via a network.

2. Description of the Prior Art

Conventionally, there is provided a projector system using this type ofimage data transmission system. The projector system comprises a client,e.g., a projector installed in a meeting room, and servers, e.g.,computers that output image data to the client. The client projectorprojects an image that is displayed on a display of the server computerin the meeting room. When the client projector projects an imagedisplayed on the server display, it is necessary to first establish aconnection capable of intercommunication between the client projectorand the server.

In many cases, the TCP/IP communication protocol is used to establishthis connection. At this time, a server user confirms an IP address ofthe client projector and assigns the IP address to the server. Inaddition, the user assigns a server's IP address to the clientprojector. Through this process of setting the IP addresses for theserver and the client, the client projector and the server cancommunicate with each other based on the TCP/IP communication protocol.In this manner, the server outputs image data to the client projector.The client projector receives this image data and projects an imagebased on the image data.

The above-mentioned conventional projector system has been subject tothe problem of a complicated process of making a connection capable ofintercommunication between the server computer and the client projector.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the foregoing.It is therefore an object of the present invention to provide an imagedata transmission system, an image data transmission method, an imagedata transmission program, an image data output device, and an imagedisplay device capable of establishing a connection compliant withintercommunication between a server and a client through the use of asimple technique.

In order to achieve the above-mentioned object, the present inventionprovides an image data transmission system which connects a server witha plurality of clients on an intercommunicable network and allows theserver to output and display image data on the clients. First, theserver outputs a retrieval command to request a response includingconnectability to any of the clients on the network.

When the connection is available, each client uses a retrieval responseunit to output a response including connectability to the retrievalcommand. The server's client retrieval unit can retrieve connectableclients based on a response to the retrieval command.

When connectable clients are retrieved, the server uses a clientconnection establishment unit to output a connection command to aspecific client intended for connection to request a response includinginformation needed for the connection. When the connection command isinput, the client uses a server connection establishment unit to outputa response including information needed for the connection to a clientconnection unit in response to the connection command. When the clientconnection establishment unit inputs a response to the connectioncommand output by the server connection establishment unit, the serverestablishes a connection with the specific client based on theconnection-related information included in the response. The client alsoestablishes the connection to the server in correspondence with thatinformation. The server uses an image data output unit to output imagedata to the connected client. The client uses an image data input unitto input this image data and uses an image display unit to display animage based on the image data.

As mentioned above, the present invention can provide an image datatransmission system, an image data transmission method, and an imagedata transmission program capable of establishing a connection compliantwith intercommunication between a server and a client through the use ofa simple technique.

When the keyword-based authentication is used for connection between theserver and the client, it is possible to protect the client against anunauthorized access by a person who does not know the keyword.

According to another embodiment of the present invention, the client'sserver connection establishment unit has a keyword determination unitfor determining a match between the keyword contained in the connectioncommand for transmission and a keyword specified by the client. When theclient connection establishment unit outputs the connection command, theconnection command includes a specific keyword specified by the clientas an output target. When the client receives the connection commandincluding the keyword, the keyword determination unit determines whetheror not the keyword matches. When a match is found, the client outputs aresponse to the client connection establishment unit to establish aconnection to the server. The server also establishes a connection tothe client based on the response to the connection command including thekeyword.

In this manner, the keyword-based authentication can prevent anunauthorized access.

There is no specific limitation on forms of a network that connects theserver and the client in an intercommunicable manner. On the other hand,when image data is output, the present invention employs a technique ofretrieving connectable clients and establishing a connection. Inconsideration for this embodiment, it may be preferable to configure awireless network of connecting the server and the client in anintercommunicable manner as an example of preferred network forms.

Obviously, the present invention is not limited to the wireless networkof connecting the server and the client in an intercommunicable manner.The present invention can be also embodied as a wired network ofconnecting the server and the client in an intercommunicable manner.

In this manner, an example of preferred network forms can be provided byapplying the image data transmission system according to the presentinvention.

When a plurality of connectable clients is retrieved, it is preferableto be able to select intended clients. According to another embodimentof the present invention, the client retrieval unit is provided with alist screen display unit for displaying a list screen of clientsdetermined to be connectable and a client selection unit for selectingintended clients. In this case, a client user visually checks theretrieval result on the list screen displayed by the list screen displayunit and uses the client selection unit to select an intended client tobe connected.

In this manner, the user can select intended clients from theconnectable clients.

From a security viewpoint, it is preferable to be able to change thekeyword each time a connection is made. Still another embodiment of thepresent invention provides the client with a keyword specification unitwhich then generates a keyword based on random numbers. Whenestablishing a connection with the client, the server uses a keywordoutput unit to output the keyword generated by the keyword specificationunit.

In this manner, it is possible to improve the keyword security.

There is a plurality of clients. When the server retrieves connectableclients from these clients, many clients to be retrieved increase aprocess time spent for the retrieval. As an example of preferredcommunication protocols to shorten the process time for the retrieval,it may be preferable to use the broadcasting based on the UDPcommunication protocol for implementing intercommunication between theclient retrieval unit and the retrieval response output unit. That is tosay, the server's client retrieval unit outputs the retrieval command tounspecified clients based on the UDP. The client's retrieval responseoutput unit outputs a response to the retrieval command based on the UDPwithout specifying destinations.

In this manner, it is possible to fast retrieve connectable clients.

After the connection is established, it is necessary to improve thereliability of exchanging image data and the like between the server andthe client. When establishing a connection between the client connectionestablishment unit and the server connection establishment unit, it maybe preferable to connect the client and the server based on the TCP/IPcommunication protocol.

When the TCP/IP communication protocol is used for connection, an IPaddress needs to be assigned to the client. When the client's serverconnection establishment unit establishes a connection to the serverbased on the TCP/IP, the same server connection establishment unit mayretrieve and assign available IP addresses as an example technique ofassigning the IP address.

Of course, the server may specify a given IP address and assign it tothe client. When the server's client connection establishment unitestablishes a connection to the client based on the TCP/IP, yet anotherembodiment of the present invention uses an IP address notification unitto notify an available IP address to the client's server connectionestablishment unit for assignment.

If a user can select whether the client or the server should assign anIP address to the client, a method appropriate for situations can beconveniently selected.

Still yet another embodiment of the present invention provides theserver with an IP address setting selection screen display unit. Basedon an IP address setting selection screen displayed by the IP addresssetting selection screen display unit, a user is allowed to selectwhether a client's IP address setting unit or the server's IP addressnotification unit should assign an IP address to the server connectionestablishment unit. A selection result acquisition unit obtains theselection result.

In this manner, it is possible to select whether the client or theserver should assign an IP address to the client.

The server may output image data specified by a file name to the client.It may be also preferable to output image data based on an imagedisplayed on the server. The latter technique is convenient because animage visualized on the server can be also displayed on the client. Theserver's image data output unit may output image data forming an imagedisplayed on the server's image display unit to the client.

A network load increases if image data forming the same image is outputeach time image data needs to be output. According to yet still anotherembodiment of the present invention, an image state determination unitperiodically determines a degree of state changes in an image displayedon the server's image display unit. When the image state determinationunit determines a change in an image state, the image data output unitoutputs the image data to the client.

In this manner, a network load can be decreased when image data isoutput. In addition, it is possible to decrease loads for processingimage data on the server and the client.

When an image changes, it may change entirely or partially. When theimage changes partially, it is unnecessary to output image dataconstituting the entire image. When the image data output unit outputsimage data, it may be preferable to obtain image data corresponding to achanged part in the image and output the obtained image data to theclient.

In this manner, a network load can be further decreased when image datais output. In addition, it is possible to decrease more loads forprocessing image data on the server and the client.

There is provided an example of techniques that can improve the securityof image data to be output from the server to the client. The server'simage data output unit may be provided with an image data encryptionunit capable of encrypting image data. The client's image data inputunit may be provided with an image data decryption unit for decryptingencrypted image data.

While encrypting image data improves the security, there are requiredencryption and decryption processes, slowing down a process speed.Depending on situations, it is necessary to fast output image data anddisplay an image. Therefore, it is preferable if there is a capabilityof selecting whether or not to enable the encryption according to theuser's convenience.

According to still yet another embodiment of the present invention, theimage data encryption unit has an encryption selection screen displayunit for displaying a selection screen capable of selecting whether ornot to encrypt the image data to be output. When the encryptionselection screen display unit selects execution of the encryption, theimage data encryption unit encrypts the image data.

There is provided an example of techniques that can allow a user torecognize the above-mentioned keyword specified by the client. That isto say, it may be preferable to use a visually recognizable image todisplay the keyword specified by the keyword specification unit of theclient's image display unit. This makes it possible to visuallyrecognize the keyword.

The client just needs to be able to display an image based on image dataoutput from the server. There are no other limitations. That is to say,it may be preferable to configure the client using a computer anddisplay image data output from the server as an image on a client'sdisplay. Here, a projector may be used for at least one of clients as apreferred example of displaying images based on image data output fromthe server. In this case, the image display unit comprises an imageprojection unit. The projector projects an image based on the imagedata.

Here, the above-mentioned image data transmission system is provided asa concrete configuration comprising the server and the client.Obviously, on the other hand, such image data transmission system alsofunctions through a method with which the server and the clientchronologically perform specified processes. Accordingly, the presentinvention is also available as an image data transmission methodcomprising the server and the client. Such image data transmissionsystem maybe provided independently or may be built in a device. Theconcept of the invention is not limited thereto but may be otherwisevariously embodied. Accordingly, the present invention can beappropriately changed to be software or hardware. When the concept ofthe invention is embodied as software of the image data transmissionsystem, there is clearly provided a program to implement such functions.Executing the program makes the functions available. Therefore, thepresent invention is also available as an image data transmissionprogram that can be executed in the server and the client to implementthe above-mentioned functions.

It is to be distinctly understood that the present invention isapplicable to an independent device having the above-mentioned serverfunctions. The present invention is also available as an image dataoutput device to be able to connect with a plurality of clients via anetwork capable of intercommunication and to output displayable imagedata to the clients. The image data output device comprises: a clientretrieval unit for outputting a retrieval command to request a responseincluding connectability to any of the clients on the network and forretrieving connectable clients based on a response to the retrievalcommand; a client connection establishment unit for outputting aconnection command to a specific client intended for connection out ofthe retrieved connectable clients to request a response includinginformation needed for connection and for establishing connection withthe specific client based on information needed for connection andincluded in the response; and an image data output unit for outputtingimage data to the connected client.

In this manner, it is possible to provide the image data output devicecapable of establishing a connection compliant with intercommunicationwith the client through the use of a simple technique.

Likewise, it is to be distinctly understood that the present inventionis also applicable to an independent device having the above-mentionedclient functions. The present invention is also available as an imagedisplay device to be able to connect with a server via a network capableof intercommunication and provides display based on image data outputfrom the server. The image display device comprises: a retrievalresponse output unit for, when the connection is available, outputting aresponse including connectability to a retrieval command which is outputfrom the server to unspecified clients and requests a response includingconnectability; a server connection establishment unit for, when aconnection command output from the server is input, outputting aresponse including information needed for connection to the connectioncommand and establishing connection with the server corresponding to theinformation; an image data input unit for inputting image data outputfrom the connected server; and an image display unit for displaying animage based on image data input from the image data input unit.

In this manner, it is possible to provide the image display devicecapable of establishing a connection compliant with intercommunicationwith the server through the use of a simple technique.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration of a projector system compliant with theimage data transmission system according to the present invention;

FIG. 2 shows a server hardware configuration;

FIG. 3 shows a server software configuration;

FIG. 4 shows a projector hardware configuration;

FIG. 5 shows a projector software configuration;

FIG. 6 is a flowchart outlining a server process implemented by a serverprogram on the server;

FIG. 7 is a flowchart showing the contents of a projector retrievalprocess;

FIG. 8 shows a configuration of a projector list screen;

FIG. 9 shows the contents of a connection establishment process;

FIG. 10 shows a configuration of an option setting screen;

FIG. 11 shows a configuration of an IP address setting screen;

FIG. 12 shows a configuration of a keyword setting screen;

FIG. 13 is a flowchart showing the contents of an image data outputprocess;

FIG. 14 shows a configuration of an output mode setting screen;

FIG. 15 is a flowchart showing the contents of an image display process;

FIG. 16 shows a configuration of a connected projector list screen;

FIG. 17 is a flowchart showing the contents of a projector process;

FIG. 18 is a flowchart showing the contents of an initializationprocess;

FIG. 19 is a flowchart showing the contents of a retrieval responseprocess;

FIG. 20 is a flowchart showing the contents of a keyword displayprocess;

FIG. 21 shows an example mode of keyword display images;

FIG. 22 is a flowchart showing the contents of a connectionestablishment process;

FIG. 23 is a flowchart showing the contents of an image display process;and

FIG. 24 is a flowchart showing the contents of a disconnection process.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention will be described in further detailwith reference to the accompanying drawings in the following order.

(1) Configuration of the projector system

(2) Configuration of the server

(3) Configuration of the projector

(4) Contents of the server process

(5) Contents of the projector process

(6) Modifications

(7) Summary

(1) Configuration of the Projector System

FIG. 1 shows a configuration of a projector system compliant with theimage data transmission system according to the present invention. InFIG. 1, a projector system 10 comprises a server 20 and a projector 30as a client. Image data is output from the server 20 and is input to theprojector 30. The projector 30 projects an image based on this imagedata. According to the embodiment, the projector 30 comprises aplurality of projectors 301 through 30 n. The server 20 specifies any ofthe projectors 30 that are connectable and are intended to output imagedata and project images. The server then makes network connection withthe specified projector 30 so as to be capable of intercommunication.

In this case, the server 20 retrieves the projectors 301 through 30 nthat are connectable. At this time, the server 20 broadcasts a retrievalcommand to the projectors 301 through 30 n. When any of the projectors301 through 30 n responded to the retrieval command, the server 20assumes these projectors to be connectable. The server 20 selects theintended projectors 301 through 30 n from the connectable projectors 301through 30 n. The server 20 establishes connection with the selectedprojectors 301 through 30 n to perform intercommunication. As will bediscussed in more detail below, the embodiment speeds up the retrievalby using the UDP communication protocol to perform communication ofissuing the retrieval command and responding to this command. Thefollowing presents an example to explain the connection. Let us assumethat the projector 301 is placed in a meeting room R. A user brings theserver 20 in the meeting room R. When the server 20 issues the retrievalcommand, the projector 301 should return a retrieval response. Theserver 20 establishes connection with the projector 301 that respondedto the retrieval command.

The embodiment uses the TCP/IP communication protocol for the connectionto be described later. This makes it possible to improve the reliabilityof the communication thereafter. When the TCP/IP protocol is used forthe connection, the projectors 301 through 30 n are automaticallyassigned IP addresses. This makes it possible to automatically perform asequence of processes from retrieving the connectable projectors 301through 30 n to making a connection based on TCP/IP. Further, it becomespossible to easily establish a connection capable of intercommunicationbetween the server 20 and the projectors 301 through 30 n. Thisautomatic IP address setting is performed when a network's environmentis configured with a DHCP server, IP fixing, and the like, and a serverto be connected to such network is incompliant with the environment.According to the embodiment, as will be discussed in more detail below,keywords are assigned to the projectors 301 through 30 n for the server20 to authenticate a connection to the projectors 301 through 30 n. Thekeyword may be visually displayed on the projector 301 or may bedisplayed as a projected image. It may be preferable to preassign onekeyword to each of the projectors 301 through 30 n. Alternatively, itmay be preferable to allow the projectors 301 through 30 n to generatekeywords based on random numbers as needed and project the generatedkeywords.

When establishing a connection, the server 20 outputs the keyword to aprojector to be connected, e.g., the projector 301 which thenauthenticates the keyword. Since keywords are generated based on randomnumbers, projected, and authenticated, it becomes possible to prevent aperson (an outsider) not present in the meeting room R from accessingthe projector 301 for outputting image data. As mentioned above, theembodiment automates a sequence of processes from retrieving theconnectable projectors 301 through 30 n to establishing a connectioncapable of intercommunication. Consequently, a user of the projector 301just needs to bring the server 20 into the meeting room R and performthe above-mentioned processes in order to be able to allow the projector301 to output image data and to project images based on the image data.

(2) Configuration of the Server

FIG. 2 shows a hardware configuration of a server 20. In FIG. 2, theserver 20 comprises CPU 21, ROM 22, RAM 23, VRAM 24, a graphiccontroller 25, a network interface 26, and a hard disk drive (HDD) 27.The components 21 through 27 are connected to a bus 28 and caninterchange data and control signals with each other. The PU 21 readsprograms from the ROM 22 and the HDD 27 and executes the programs usingthe RAM 23 as a work area to enable various functions of the server 20.The programs stored in the ROM 22 and the HDD 27 include an operatingsystem and various application programs. A display 29 is connected tothe graphic controller 25 and displays images based on image data outputfrom the graphic controller 25.

The network interface 26 uses a wireless LAN to connect the server 20with the projectors 301 through 30 n so as to be capable ofintercommunication. Under control of the CPU 21, image data and the likeare output to the projectors 301 through 30 n via the network interface26. When the display 29 displays an image, the CPU 21 outputs image datafor display on the screen. The image data is written to the VRAM 24. Thegraphic controller 25 reads the written image data and outputs it to thedisplay 29. The graphic controller 25 receives a drawing instructionfrom the CPU 21 and provides control to rewrite the VRAM 24 or todetermine a resolution for displaying the image data on the display 29by setting horizontal and vertical frequencies. The image data writtento the VRAM 24 is formed in a dot matrix. A screen on the display 29 isalso formed in a dot matrix. The dot matrix for the VRAM 24 correspondsto that for the display 29. The display 29 displays an imagecorresponding to the image data stored in the VRAM 24 as a dot image.

FIG. 3 shows a software configuration of the server 20. In FIG. 3, thesoftware includes an operating system (OS) P20 and a server program P21.The OS P20 controls overall control processes for the server 20. Theserver program P21 implements functions according to the presentinvention capable of executing processes such as retrieving theprojectors 301 through 30 n or establishing connections. Of course, thesoftware is not limited thereto and includes drivers such as a printerdriver and a display driver and the other application programs. Theserver program P21 comprises a communication module M21, an image dataoutput program M22, and a user interface module M23. Executing themodules M21 through M23 can implement the functions according to thepresent invention.

(3) Configuration of the Projector

FIG. 4 shows a hardware configuration of the projectors 301 through 30n. In FIG. 4, the projectors 301 through 30 n each comprise a CPU 31,ROM 32, a network interface 33, RAM 34, VRAM 35, a projector displaydevice 35 a, a projector interface 35 b, a graphic controller 36, andEEPROM 37. The CPU 31 controls the entire device. The ROM 32 storesinitialization programs such as an IPL (Initial Program Loader) that isused for starting the device. The network interface 33 is used forconnecting the server 20 by means of a wireless LAN. The RAM 34 storesimage data entered from the server 20 via the network interface 33. TheVRAM 35 temporarily stores processed image data. The projector displaydevice 35a displays images. The projector interface 35 b transfers imagedata from the VRAM 35 to the projector display device 35 a. The graphiccontroller 36 processes image data from the RAM 34 and controls the VRAM35. The EEPROM 37 stores control programs and control data forcontrolling the graphic controller 36. The components 31 through 37 areconnected via a bus 38 so as to be able to interchange data and controlsignals with each other.

FIG. 5 shows a software configuration of the projector 30. In FIG. 3,the software includes an operating system (OS) P30 and a projectorprogram P31. The OS P30 controls overall image processes for theprojector 30. The projector program P31 implements functions accordingto the present invention. The projector program P31 includes a displaymodule M31 to display reproduced image, a communication module 32 tointerchange data with the server 20, and a browser module M33 to processimage data and reproduce images to be projected. Executing the modulesM31 through M33 can implement the functions according to the presentinvention.

In the above-mentioned configuration, a user of the server 20 executesthe server program P21 and allows the projectors 301 through 30 n toexecute the projector program P31. This makes it possible to provide aconnection capable of intercommunication between the server 20 and theprojectors 301 through 30 n and permit the server 20 to output imagedata. The connected projectors 301 through 30 n can project images basedon the image data. The following describes processes executed by theserver program P21 and the projector program P31.

(4) Contents of the Server Process

FIG. 6 is a flowchart outlining a server process implemented by theserver program P21 on the server 20. In FIG. 6, the server 20 firstexecutes a projector retrieval process to retrieve connectableprojectors from the projectors 301 through 30 n (step S100). When theconnectable projectors 301 through 30 n are retrieved, the server 20selects any intended projectors from the connectable projectors 301through 30 n that should output image data for displaying images. Inaddition, the server 20 executes a connection establishment process toestablish connection to the selected projectors 301 through 30 n (stepS200). The server 20 then executes an image data output process tooutput image data for allowing the connected projectors 301 through 30 nto display images (step S300). When image data need not be output to theprojectors 301 through 30 n, the server 20 executes a disconnectionprocess to disconnect from the connected projectors 301 through 30 n(step S400).

FIG. 7 is a flowchart showing the contents of the projector retrievalprocess at step S100. In FIG. 7, the process first retrieves a specifiedstorage area in the HDD 27 that stores IP addresses to determine whetheror not an IP address is allocated, to the server 20 (step S105). If theIP address is allocated, the process outputs a retrieval commandcontaining this IP address to the projectors 301 through 30 n. At thistime, the process uses the broadcast based on the UDP communicationprotocol to output the retrieval command (step S110). Then, it isdetermined whether or not the projectors 301 through 30 n output aretrieval response to the retrieval command and this response is input(step S115). When no retrieval response is input, the process checks forinput of the retrieval response until a specified time expires (stepS120). When it is determined at step S115 that the retrieval response isinput, the process displays a projector list screen 40 to visuallyprovide a user with the connectable projectors 301 through 30 n (stepS130).

As will be discussed below, the retrieval response includes uniqueinformation such as MAC addresses about the projectors 301 through 30 nthat returned the retrieval response, information about usage of theprojectors 301 through 30 n, and keyword information indicating whetheror not the authentication using a keyword is needed during connectionestablishment. The projector list screen 40 will now be described. InFIG. 8, the projector list screen 40 presents a message such as “Thefollowing projectors are found . . . ” The projector list screen 40contains a projector list 41, a connection button 42, and an optionsetting button 43. The projector list 41 comprises a selection check box41 a, a projector name column 41 b, a keyword information column 41 c,and a usage information column 41 d.

According to the embodiment, the projectors 301 through 303 areconnectable. The projectors 301 through 303 need the authentication ofkeywords for connection. The projector 303 already makes connection withanother server and is being used. When it is determined at step S105that no IP address is given, the screen shows a message indicating thatthe network setting needs to be changed, prompting a user to set an IPaddress (step S135). When it is determined at step S120 that noretrieval response is input, a different communication mode is assumed(i.e., ad-hoc mode instead of infrastructure mode). The screen shows amessage indicating that the communication mode for the wireless LANneeds to be changed to the infrastructure mode, prompting the user tochange the communication mode (step S140). When the projector listscreen 40 is displayed at step S130 above, control advances to theconnection establishment process.

FIG. 9 is a flowchart showing the contents of the connectionestablishment process at step S200. When establishing a connection inFIG. 9, a user selects intended projectors from the projectors 301through 30 n shown in the projector list 41 on the projector list screen40. The embodiment shows a case where the user checks the selectioncheck box 41a for the projector 301 to select it (step S205). Theprocess then determines whether or not an IP-designated connection isspecified (step S210). The IP-designated connection can be specified onan option setting screen that is displayed when the option settingbutton 43 is selected on the projector list screen in FIG. 8. FIG. 10shows a configuration of the option setting screen. In FIG. 10, theoption setting screen 50 comprises option setting items such as anencryption setting column 51, an IP-designated connection setting column52, a keyword setting button 53, and an output mode setting button 54.

The IP-designated connection setting column 52 is selected when aspecific IP address is specified for the projector 301 to be connectedbased on the setting of the server 20. The IP-designated connectionsetting column 52 can be selected by checking the check box 52 a. Theembodiment shows that the check box 52 a is unchecked. In this case, theprojector 301 will be assigned an IP address by the projector processexecuted on the projector 301. When the check box 52 a is checked toselect the IP-designated connection, a user selects the IP addresssetting button 52 b including in the IP-designated connection settingcolumn 52 to display an IP address setting screen 60 in FIG. 11. Usingthis screen, the user can enter an intended IP address. After enteringan intended IP address on the IP address setting screen 60, the userselects an OK button 61. This determines the specific IP address to beassigned to the projector 301 (step S215). Then, it is determinedwhether or not the authentication using a keyword is needed forestablishing a connection to the projector 301 (step S220).

As shown in FIG. 8, the embodiment defines the keyword information to be“keyword needed” for the projector 301. The user selects the keywordsetting button 53 on the option setting screen 50 to display a keywordsetting screen 70 in FIG. 12 and enter a specified keyword (step S225).In this case, the projector 301 projects the keyword as will bedescribed later. Accordingly, the user visually checks the projectedkeyword and enters it on the keyword setting screen 70. After pressingan OK button 71 to complete the keyword setting, the user can press theconnection button 42 on the projector list screen 40 to output aconnection command containing the specified keyword to the projectors301 through 30 n. (When the IP-designated connection is specified, theconnection command also contains the IP address specified on the IPaddress setting screen 60.)

At this time, there is not yet established a TCP/IP-based connection.The process broadcasts the connection command based on the UDPcommunication protocol (step S230). It is determined whether or not aconnection response to the connection command is input from theprojector 301 (step S235). When the connection response is input, theprocess establishes the connection with the projector 301 based onTCP/IP (step S240). When no connection response is input at step S235and a specified time has elapsed (step S245), the process displays amessage indicating an unsuccessful connection and notifies the user ofthis (step S250). When the connection with the projector 301 isestablished at step S240, an intercommunication starts between theserver and the projector 301. The server 20 becomes able to output imagedata to the projector 301 and executes the image data output process tobe described next.

FIG. 13 is a flowchart showing the contents of the image data outputprocess at step S300. In FIG. 13, the process first inputs image datafor the image displayed on the display 29 from the VRAM 24 (step S305).After a specified time elapses (step S310), the process reinputs imagedata from the VRAM 24 (step S315). The process compares the image datainput at step S305 with image data input at step S315 and obtains adifference (step S320). The process determines whether or not there is achange in the image displayed on the display 29 based on whether or notthe difference is greater than or equal to a specified threshold value(step S325). When the difference is smaller than the threshold value,the process assumes the image to be unchanged and repeats steps S305 toS320. When the image is assumed to be changed at step S325, the processdetermines whether or not a high-speed image output mode is enabled(step S330).

This output mode can be specified by selecting the output mode settingbutton 54 on the option setting screen 50 in FIG. 10 and displaying theoutput mode setting screen 60 in FIG. 14. In FIG. 14, the output modesetting screen 60 allows selection of output modes such as a high-speedimage output mode 61 and a high-quality image output mode 62. When animage changes, the high-speed image output mode 61 outputs image dataonly for the changed portion to accelerate the display process. When animage changes, the high-quality image output mode 62 outputs the entireimage data to ensure the image quality. The user selects one of themodes 61 and 62 and then presses an OK button 63. This determines theoutput mode. When it is determined at step S330 that the high-speedimage output mode is selected, the process obtains image data for thechanged portion from the VRAM 24 (step S335).

On the other hand, when it is determined at step S330 that thehigh-quality image output mode is selected, the process obtains theentire image data from the VRAM 24 (step S340). When the image data forthe changed portion or the entire image data is obtained, the obtainedimage data is compressed (step S345). After the image data iscompressed, it is determined whether or not an encryption setting isenabled (step S350). The encryption setting is used to encrypt imagedata to be output. The encryption setting can be specified using theencryption setting column 51 on the option setting screen 50 in FIG. 10.To enable the encryption setting, the user checks a check box 51 a. Whenit is determined at step S350 that the. encryption setting is enabled,the process encrypts the compressed image data (step S355).

This encryption uses an existing technology. On the other hand, noencryption is performed when no encryption setting is assumed to beenabled. The process outputs the encrypted or unencrypted image data tothe projector 301 (step S360). When a change is made to the imagedisplayed on the display 29 of the server 20, the image data outputprocess outputs the image data only for the changed portion. Here, letus suppose that the process obtains the image data for the changedportion at step S335 and outputs this image data to the projector 301.In this case, the projector 301 combines this partial image data withthe stored image data before the change to form the image data after thechange.

When the changed portion is obtained, it may be preferable to divide theimage into a plurality of blocks beforehand and to transmit a block thatcontains the changed portion. Depending on a compression technique,determining block divisions can surely prevent the compression fromcovering a plurality of areas when one block needs to be transmitted.Therefore, it is possible to decrease the size of image data to betransmitted.

After using the projector 301, the user of the server 20 displays aconnected projector list screen 70 in FIG. 15 on the server. In FIG. 15,the connected projector list screen 70 contains a connected projectorlist 71. The user checks a check box corresponding to the projector tobe disconnected and presses a disconnection button 72 to execute thedisconnection process at step S400. FIG. 16 is a flowchart showing thecontents of the disconnection process. In FIG. 16, it is determinedwhether or not the disconnection button 72 is selected and pressed onthe connected projector list screen 70 (step S405). When it isdetermined that the disconnection button 72 is selected and pressed, theprocess obtains an IP address assigned to the projector to bedisconnected, e.g., the projector 301 in this embodiment (step S410).The process outputs a disconnection command including the IP address(step S415). The process then determines whether or not a disconnectioncompletion command is entered from the projector 301 in response to thedisconnection command (step S420). When the disconnection completioncommand is entered, the connection is disconnected (step S425).

(5) Contents of the Projector Process

The following describes the projector program P31. FIG. 17 is aflowchart showing the contents of the projector process. In FIG. 17,when the power is turned on, the projectors 301 through 30 n execute aninitialization process to temporarily assigns IP addresses to themselves(step S500). When the initialization process is complete, controladvances to a wait state for a retrieval command supplied from theserver 20. Then, a retrieval response process is executed to respond tothe retrieval command (step S600). A connection establishment process isexecuted to establish a connection to the server (step S700). An imagedisplay process is executed to image data output from the connectedserver 20 (step S800). Finally, a disconnection process is executed inresponse to a disconnection request from the server 20 (step S900).

FIG. 18 is a flowchart showing the contents of the initializationprocess at step S500. In FIG. 18, when the power is turned on, theprojectors 301 through 30 n determine whether or not the networkinterface 33 is compliant with a wireless LAN (step S505). When it isdetermined that the network interface 33 is compliant with a wirelessLAN, the process sets the communication mode to the infrastructure mode(step S510). The projectors 301 through 30 n then determine whether ornot IP addresses are assigned (step S515). When it is determined that noIP address is assigned to any of the projectors 301 through 30 n, theprocess assigns a specified IP address in a provisional temporary manner(step S520). Based on the provisional temporary IP address, the processexecutes a retrieval to check if there is a network device having aconflicting IP address on the network (step S525).

A Ping command is used for this retrieval. If there is a network deviceassigned with the same IP address as the provisional temporary IPaddress, the network device should return a response notifying theconflict. Accordingly, the process determines whether or not theresponse returns (step S530). When it is determined that no responsereturns, the process temporarily assigns the provisional temporary IPaddress to the projectors 301 through 30 n (step S535). When it isdetermined that the response returns, the process uses another IPaddress for the provisional temporary assignment and checks if there isa conflicting network device. The process repeats the retrieval usingthe provisional temporary assignment of IP addresses until noconflicting network device is detected. When it is determined that theIP address is already assigned, the process temporarily assigns this IPaddress to the projectors 301 through 30 n (step S540).

FIG. 19 is a flowchart showing the contents of the retrieval responseprocess at step S600. In FIG. 19, when the initialization process atstep S500 terminates, the projectors 301 through 30 n wait for input ofthe retrieval command output from the server 20, i.e., enter a waitstate by determining whether or not the retrieval command is input (stepS605). When it is determined that the retrieval command is input, theprocess determines whether or not the authentication using a keyword isneeded for the server 20 to establish a connection to the projector 301(step S610). The setting in the projectors 301 through 30 n determineswhether or not the authentication using a keyword is needed. When it isdetermined that the authentication using a keyword is needed, a keyworddisplay process is executed to project the keyword so that the user ofthe server 20 can visually check it (step S615). A flowchart in FIG. 20shows the contents of the keyword display process.

In FIG. 20, a random number process is first executed to generate akeyword to be displayed (step S615 a). Based on the random numberprocess, the keyword display process generates a keyword comprising a7-digit numeric string (step S615 b) and projects the generated keyword(step S615 c). Of course, it is possible to appropriately change thekeyword so that it contains not only a numeric string, but also lettersand symbols. On a screen, a keyword display image is projected as shownin FIG. 21. The user of the server 20 visually confirms the keywordprojected on the screen and specifies this keyword for the connectionestablishment process at step S200 described above to issue theconnection command. When the keyword display process at step S615terminates, the retrieval response process outputs a retrieval responseincluding the unique information (such as MAC addresses, etc.) about theprojectors 301 through 30 n, the usage information, and the keywordinformation indicating whether or not the keyword is needed (step S620).Here, the usage information provides a state of connection to the otherservers. When the other servers are connected, the usage informationshows an “active” state. When no servers are connected, the usageinformation shows an “inactive” state. The usage information isdisplayed on the projector list screen 40 in FIG. 8. According to theembodiment, as shown in FIG. 8, the projectors 301 through 30 n outputthe retrieval response.

FIG. 22 is a flowchart showing the contents of the connectionestablishment process at step S700. In FIG. 22, when the retrievalresponse process at step S600 outputs the retrieval response to theserver, the connection establishment process waits for input of aconnection command in response to the retrieval response from the server20, i.e., enters a wait state by determining whether or not theconnection command is input (step S705). When it is determined that theconnection command is input from the server 20, the process checks theunique information included in the connection command (step S710). Whenit is determined that the unique information matches, the processdetermines whether or not the authentication using a keyword is needed(step S715). When the authentication using a keyword is needed, theprocess determines whether or not the keyword included in the connectioncommand matches, i.e., is normal (step S720).

When it is determined that the keyword matches, the process thendetermines whether or not the connection command includes the IP addresssetting. When an IP address is defined in the connection command, itmeans that the server 20 selects the IP-designated connection (stepS725). When no IP address is defined in the connection command, aspecified IP address is defined. Based on this IP address, the processexecutes a retrieval to check if there is a network device having aconflicting IP address on the network (step S730). A Ping command isused for this retrieval. If there is a network device assigned with thesame IP address as the specified IP address, the network device shouldreturn a response notifying the conflict. Accordingly, the processdetermines whether or not the response returns (step S735). When it isdetermined that no response returns, the process finally assigns the IPaddress defined at step S730 to the projector 301 (step S740). When itis determined at step S725 that an IP address is defined in theconnection command, the process finally assigns the IP address definedin the connection command to the projector 301 at step S740.

When it is determined that a response returns, the process assignsanother IP address and checks if there is a conflicting network device.The process repeats the retrieval until no conflicting network device isdetected. After the IP address has been finally assigned, the processoutputs a connection response to the server 20 (step S745). Thisestablishes a TCP/IP connection with the server 20 and startsintercommunication with the server 20 (step S750). When it is determinedat steps S710 and 720 that there is no matching unique information orkeyword, the process projects a message indicating an unsuccessfulconnection, allowing the user of the server 20 to visually confirm themessage (step S755). When the intercommunication with the server 20starts at step S750, the server 20 can input image data. Then, theclient executes the image display process to be described next.

FIG. 23 is a flowchart showing the contents of the image displayprocess. In FIG. 23, the process determines whether or not data is inputfrom the server 20 (step S805). When it is determined that data isinput, the process extracts image data from this data (step S810). Sincethe extracted image data is compressed, the process decompresses thecompressed image data (step S815). The process then determines whetheror not the decompressed image data is encrypted (step S820). When theimage data is encrypted, the process decrypts the image data (stepS825). Based on the image data, the process displays an image (stepS830).

FIG. 24 is a flowchart showing the contents of the disconnectionprocess. In FIG. 24, the connection established with the server 20 canbe disconnected in response to the disconnection process in the server20. The process first awaits a disconnection command issued from theserver (step S905). When receiving the disconnection command, theprocess executes a specified disconnection process in the projector 301(step S910) and issues a disconnection completion command to the server20 (step S915). This disconnects the connection with the server 20 (stepS920).

(6) Modifications

While there has been described the embodiment of the projector system 10that uses the wireless LAN to connect the server 20 with the projectors301 through 30 n, the present invention is obviously not limited to thesystem in the wireless LAN network. It. may be preferable to configurethe projector system 10 comprising a wired LAN network or a combinationof wireless and wired LAN networks. In this case, the system can beconstructed by using network functions such as IEEE 1394 and the likefor the wired LAN network. The embodiment has presented the mode ofapplying the image data transmission system according to the presentinvention to the projector system. It is obvious that the image datatransmission system can be applied to a system comprising a plurality ofcomputers. That is to say, the image data transmission system can alsoconstruct a system that displays image data for images in one computeron another computer.

(7) Summary

A connection is established between the server 20 and the projectors 301through 30 n as follow. First, a UDP communication command is used toretrieve the connectable projectors 301 through 30 n and then to selectthe projector 301 to be connected. An IP address is assigned to theprojector 301. A reliable TCP/IP communication command is used toestablish a connection for inputting and outputting image data and thelike. In this manner, a user can easily obtain a connection environmentcapable of intercommunication between the server 20 and the projector301. Since the authentication can be provided using a keyword projectedduring the connection establishment, it is possible to prevent anunauthorized access to the projector 301 by an outsider.

1. An image data transmission system which connects a server with aplurality of clients on an intercommunicable network and allows theserver to output and display image data on the clients, wherein theserver comprises: a client retrieval unit for outputting a retrievalcommand to request a response including connectability to any of theclients on the network and for retrieving connectable clients based on aresponse to the retrieval command; a client connection establishmentunit for outputting a connection command to a specific client intendedfor connection out of the retrieved connectable clients to request aresponse including information needed for connection and forestablishing connection with the specific client based on informationneeded for connection and included in the response; and an image dataoutput unit for outputting image data to the connected client, andwherein each of the clients comprises: a retrieval response output unitfor, when the connection is available, outputting a response includingconnectability to a retrieval command output from the client retrievalunit; a server connection establishment unit for, when a connectioncommand output from the client connection establishment unit is input,outputting a response including information needed for connection to theconnection command and establishing connection with the servercorresponding to the information; an image data input unit for inputtingimage data output from the connected server; and an image display unitfor displaying an image based on image data input from the image datainput unit.
 2. The image data transmission system according to claim 1,wherein the client connection establishment unit allows the connectioncommand to contain a keyword specified by the client and establishes theconnection with the client when it is possible to obtain a response tothe connection command containing the keyword, and wherein the serverconnection establishment unit has a keyword determination unit fordetermining a match between the keyword contained in the connectioncommand for transmission and a keyword specified by the client and, whenthe keyword determination unit determines a match between the keywords,outputs the response to the client connection establishment unit toestablish the connection with the server.
 3. The image data transmissionsystem according to claim 1, wherein a wireless network is formed toconnect the server and the client in an intercommunicable manner.
 4. Theimage data transmission system according to claim 1, wherein a wirednetwork is formed to connect the server and the client in anintercommunicable manner.
 5. The image data transmission systemaccording to claim 1, wherein the client retrieval unit has a listscreen display unit for displaying a list screen of clients responded tothe retrieval command and a client selection unit for selecting a clientto be connected out of the list screen displayed by the list screendisplay unit.
 6. The image data transmission system according to claim2, wherein the client has a keyword specification unit for specifyingthe keyword by generating it based on a random number.
 7. The image datatransmission system according to claim 1, wherein the client retrievalunit and the retrieval response output unit use a UDP-based broadcast tooutput the retrieval command to unspecified clients and a response tothe retrieval command.
 8. The image data transmission system accordingto claim 1, wherein the client connection establishment unit and theserver connection establishment unit establish the connection betweenthe client and the server based on TCP/IP.
 9. The image datatransmission system according to claim 8, wherein the server connectionestablishment unit has an IP address setting unit for, when the TCP/IPis used to establish the connection, retrieving and setting an availableIP address.
 10. The image data transmission system according to claim 8,wherein the client connection establishment unit has a IP addressnotification unit for, when the TCP/IP is used to establish theconnection, setting an available IP address by notifying it to theserver connection establishment unit.
 11. The image data transmissionsystem according to claim 10, wherein the server has an IP addresssetting selection screen display unit for displaying an IP addresssetting selection screen and a selection result acquisition unit forobtaining the selection result, and wherein the IP address settingselection screen is used to select whether the IP address setting unitor the IP address notification unit should allow the server connectionestablishment unit to set an IP address.
 12. The image data transmissionsystem according to claim 1, wherein the server has a server imagedisplay unit for displaying specified images, and wherein the image dataoutput unit outputs image data to the client in which case the imagedata forms an image displayed by the server image display unit.
 13. Theimage data transmission system according to claim 12, wherein the imagedata output unit has an image state determination unit for periodicallydetermining a degree of state changes in an image displayed on theserver image display unit and, when the image state determination unitdetermines a change in an image state, outputs the image data to theclient.
 14. The image data transmission system according to claim 13,wherein the image data output unit obtains image data corresponding to achanged part in the image and outputs the obtained image data to theclient.
 15. The image data transmission system according to claim 1,wherein the image data output unit has an image data encryption unit forencrypting the image data to be output; and wherein the image data inputunit has an image data decryption unit for decrypting image dataencrypted by the image data encryption unit.
 16. The image datatransmission system according to claim 15, wherein the image dataencryption unit has an encryption selection screen display unit fordisplaying an encryption selection screen capable of selecting whetheror not to encrypt the image data to be output and, when the encryptionselection screen display unit selects execution of the encryption,encrypts the image data.
 17. The image data transmission systemaccording to claim 6, wherein the image display unit uses a visuallyidentifiable image to display a keyword specified by the keywordspecification unit.
 18. The image data transmission system according toclaim 1, wherein at least one of the clients is formed by a projector;and wherein the image display unit comprises an image projection unitfor projecting the image.
 19. An image data transmission method ofconnecting a server and a plurality of clients via a network capable ofintercommunication and outputting image data from the server to theclients for display, wherein the server executes: a client retrievalstep of outputting a retrieval command to request a response includingconnectability to any of the clients on the network and for retrievingconnectable clients based on a response to the retrieval command; aclient connection establishment step of outputting a connection commandto a specific client intended for connection out of the retrievedconnectable clients to request a response including information neededfor connection and of establishing connection with the specific clientbased on information needed for connection and included in the response;and an image data output step of outputting image data to the connectedclient, and wherein each of the clients executes: a retrieval responseoutput step of, when the connection is available, outputting a responseincluding connectability to a retrieval command output at the clientretrieval step; a server connection establishment step of, when aconnection command output at the client connection establishment step isinput, outputting a response including information needed for connectionto the connection command and establishing connection with the servercorresponding to the information; an image data input step of inputtingimage data output from the connected server; and an image display stepof displaying an image based on image data input at the image data inputstep.
 20. An image data transmission program to enable a computer toimplement a function of connecting a server and a plurality of clientsvia a network capable of intercommunication and outputting image datafrom the server to the clients for display, wherein the serverimplements: a client retrieval function of outputting a retrievalcommand to request a response including connectability to any of theclients on the network and for retrieving connectable clients based on aresponse to the retrieval command; a client connection establishmentfunction of outputting a connection command to a specific clientintended for connection out of the retrieved connectable clients torequest a response including information needed for connection and ofestablishing connection with the specific client based on informationneeded for connection and included in the response; and an image dataoutput function of outputting image data to the connected client, andwherein each of the clients implements: a retrieval response outputfunction of, when the connection is available, outputting a responseincluding connectability to a retrieval command output by the clientretrieval function; a server connection establishment function of, whena connection command output by the client connection establishmentfunction is input, outputting a response including information needed.for connection to the connection command and establishing connectionwith the server corresponding to the information; an image data inputfunction of inputting image data output from the connected server; andan image display function of displaying an image based on image datainput by the image data input function.
 21. An image data output deviceto be able to connect with a plurality of clients via a network capableof intercommunication and to output displayable image data to theclients, the device comprising: a client retrieval unit for outputting aretrieval command to request a response including connectability to anyof the clients on the network and for retrieving connectable clientsbased on a response to the retrieval command; a client connectionestablishment unit for outputting a connection command to a specificclient intended for connection out of the retrieved connectable clientsto request a response including information needed for connection andfor establishing connection with the specific client based oninformation needed for connection and included in the response; and animage data output unit for outputting image data to the connectedclient.
 22. An image display device to be able to connect with a servervia a network capable of intercommunication and provides display basedon image data output from the server, the device comprising: a retrievalresponse output unit for, when the connection is available, outputting aresponse including connectability to a retrieval command which is outputfrom the server to unspecified clients and requests a response includingconnectability; a server connection establishment unit for, when aconnection command output from the server is input, outputting aresponse including information needed for connection to the connectioncommand and establishing connection with the server corresponding to theinformation; an image data input unit for inputting image data outputfrom the connected server; and an image display unit for displaying animage based on image data input from the image data input unit.